import { ref, computed } from 'vue'
import { defineStore } from 'pinia'
import { getLoginUserUsingGet } from '@/api/userController'

// 定义一个存储单元userLoginUserStore
export const useLoginUserStore = defineStore('loginUser', () => {
    // State：保存的数据
    const loginUser = ref<API.LoginUserVO>({
        userName: '未登录',
    })
    // Getter：获取属性的值
    async function fetchLoginUser() {
        const res = await getLoginUserUsingGet()
        if (res.data.code === 200 && res.data.data) {
            loginUser.value = res.data.data
        }
    }

    // Action：修改属性的方法
    function setLoginUser(newLoginUser: any) {
        loginUser.value = newLoginUser;
    }
    // 返回可用的对象，供组件使用
    return { loginUser, fetchLoginUser, setLoginUser }
})
